perm filename NSF.E2[DOC,TOB] blob sn#027209 filedate 1973-02-28 generic text, type T, neo UTF8
00100	II.  RESEARCH PLAN
00200	
00300		A.  THE PILOT ASSEMBLY STATION
00400	
00500	The basic goal of the proposed project  is  to  implement  a  general
00600	purpose  assembly  station  and  to  prove  its applicability to real
00700	problems.  The project will be considered a success if  one  or  more
00800	enterprises  chooses  to  manufacture  and market the general purpose
00900	station.  There are a number of hardware and software problems to  be
01000	solved in meeting our goal.
01100	
01200	In one configuration, the assembly station is assumed to be connected
01300	to a large time-shared computer facility. Not only does  this  appear
01400	to  be a good design for our problem, but it is also necessary for an
01500	integrated  programmed  automation  facility.   The  only  emphasized
01600	statement in the ARPA study report [Anderson 1972] is:   "The maximum
01700	impact  of  computers  in  manufacturing  will  come  from  complete,
01800	real-time  computer  cognizance  and  control  of  all  processes and
01900	resources, allowing the precise scheduling and  allocation  of  these
02000	resources."
02100	
02200	Each  assembly  station will consist of a small digital computer, one
02300	or more manipulators and cameras. Manipulators and  cameras  will  be
02400	combined  as  modules  in  systems  to suit a given task, and will be
02500	digitally controlled by the station computer.  The  station  computer
02600	may  be  connected  to  a  central  computer or may stand alone.  The
02700	latter configuration is less efficient in the long  run,  but  allows
02800	for incremental automation.
02900	
03000	The program in the station computer will be flexible as to the number
03100	and position of manipulators and cameras. It will control input  from
03200	the  cameras,  provide for some pre-processing of the picture and the
03300	application of simple tests to the visual data.     In  the  case  of
03400	manipulators  it will provide for simultaneous servo control. It will
03500	also process  other  inputs,  such  as  from  touch  sensors  on  the
03600	manipulators,  from photocell interrupt devices, limit switches, etc.
03700	Both analog and binary outputs will be available for the  control  of
03800	other devices.
03900	
04000	Each  station  computer will have access to a task program specifying
04100	the actions and tests it should perform to carry out its task.   This
04200	task program will be compiled by the central computer.    Compilation
04300	will consist of the analysis of predicted scenes in order to  specify
04400	simple tests that the station computer can carry out, the calculation
04500	of collision free trajectories for the manipulators, the sequence  of
04600	operations  and  simple  contingency plans. etc.  We are planning for
04700	tasks  whose  normal  execution  does  not  require  detailed   scene
04800	analysis.   If scene analysis becomes necessary (e.g. a dropped part)
04900	we envision the station sending an image to the central computer  for
05000	processing.
05100	
05200	The  central  computer will perform overall control of the individual
05300	assembly stations and the relative rates of production.   If  at  any
05400	station  a  planned test fails, for which a contingency plan does not
05500	exist, or any unexpected sensor signals  are  received,  the  central
05600	computer  will  also be interrupted and appropriate actions taken. If
05700	the assembly station is not connected to a  central  computer,  these
05800	operations will require human intervention.
05900	
06000	
06100	Most of the hardware required  for  the  assembly  station  has  been
06200	developed  for  the  laboratory.   Manipulators  and  cameras will be
06300	discussed in detail below. The major additional problem is to  refine
06400	the   existing   designs   to  meet  the  demands  of  an  industrial
06500	environment.
06600	
06700	We are now acquiring small computer  such  as  the  PDP-11  and  will
06800	interface  the existing arms to it together with one or more cameras.
06900	A software package for the small computer will then be  developed  in
07000	order to control the manipulators, read the TV cameras and to perform
07100	low level visual analysis.  Programs to  plan  tasks,  calibrate  the
07200	system  and  to  perform higher level visual analysis, error recovery
07300	and strategy planning will be written in a high  level  language  for
07400	the time-sharing processor.
07500	
07600	The most difficult part of the assembly station, and the heart of the
07700	project is a demonstration of the feasibility of the station. We plan
07800	to do this by developing programs which actually assemble and inspect
07900	a variety of fairly complex manufactured items.
08000	
08100	A typical example is our current effort, assembly  of  an  automobile
08200	water  pump.  The  major  parts  are  to  be  located, the screws are
08300	supplied by a feeder, as is standard.  Locating the body and cover of
08400	the  pump  require  a gross localization, then a fine localization of
08500	screw holes.    Touch  provides  a  final  accuracy  and  independent
08600	coordination  of  the  hand.    The  placing of alignment pins within
08700	screw holes could be monitored visually; although  in  this  case,the
08800	previous  actions  provide  adequate accuracy.   Placing of the cover
08900	over alignment pins can be  carried  out  without  vision.   Improved
09000	force   sensing  now  under  development  will  be  useful  for  that
09100	operation.
09200	
09300	As we move to more difficult tasks, the sophistication required  goes
09400	up  quite  rapidly.   The  current  manipulation  routines seem to be
09500	expandable to cover anticipated problems, especially since we  intend
09600	to  employ special purpose manipulators (tools) for some tasks.   The
09700	main part of our effort will be vision for assembly; an assembly task
09800	will  be performed using vision, touch, and two hands.     The vision
09900	effort will be integrated with other abilities, and  while  no  great
10000	generality  will  be  stressed, new modules will be incorporated into
10100	the system, and a set of techniques will evolve.  These  will  depend
10200	heavily  on  techniques  similar  to  those  of our recent studies in
10300	visual feedback and hand/eye coordination [Gill 1972].  The  internal
10400	model  of  the  world  will  be  used to predict visual appearance of
10500	selected areas of the scene, and a  set  of  verification  procedures
10600	will  confirm  or contradict the predictions.  Many of the operations
10700	will be  connected  with  supplying  feedback  to  manipulation,  for
10800	alignment and insertion. These visual procedures will have models for
10900	the parts and approximate locations.
11000	
11100	This and other visual tasks connected with assembly will initially be
11200	performed  as  special  case  problems.    In addition, to make these
11300	techniques  available,  we  will  pursue  development   of   strategy
11400	programs.  This step is essential if intelligent assembly devices are
11500	to be conveniently programmed for complex tasks. Within the  division
11600	of  labor between large and small machines, this facility must reside
11700	in the central time-sharing facility which  has  large  memory,  file
11800	storage,  and problem-solving languages. The system must have a model
11900	of  the  parts  for  assembly,and  a  sequence  of  instructions  for
12000	assembly.  It will be necessary to have a representation of shape and
12100	models for usual assembly operations such as insertion and alignment,
12200	and  the  ability  to  solve simple problems in connection with these
12300	operations, all this to  enable  convenient  communication  with  the
12400	user.  When  these facilities exist, the addition of new features and
12500	operations can be incorporated smoothly, so that users can call on  a
12600	growing library of planning modules.  The result of a planning effort
12700	is a cycle of machine  planning  and  man-machine  interaction  which
12800	results  in  a  plan  network  for  the  mini computer which controls
12900	individual machines.
13000	
     

00100		B. RESEARCH IN VISION
00200	Research in computer vision has progressed so that the larger part of
00300	our effort is directed toward vision in real scenes. We outline past
00400	research, including work on visual feedback, development of useful
00500	modules, analysis of some outdoor scenes, interpretation of scenes
00600	with curved objects, and a study of sensor systems.
00700	
00800	Our past work on visual feedback [Gill 1972] in stacking blocks and
00900	inserting objects in holes is directly relevant to vision for
01000	assembly. The issues involved are: coordinating hand and eye,
01100	utilizing incremental accuracy of vision and manipulation, accurate
01200	prediction to limit search, and limiting accumulation of errors.
01300	Visual guidance in picking up objects and stacking or inserting
01400	objects overcomes errors in the visual and arm coordinate systems,
01500	and errors in correspondence between the two coordinate systems. This
01600	was done under realistic conditions, with the hand still holding the
01700	object and in view; the system predicts the appearance of edges and
01800	corners within a small window around the edges to be aligned, and
01900	uses a corner/edge finder to determine alignment error. The arm
02000	makes accurate incremental error correction. If predictions can be
02100	made accurately, the search window can be small, which increases the
02200	speed of response and decreases possibility of confusion with other
02300	areas of the scene. A major limitation to accuracy of prediction
02400	(and to long-term reliability in the industrial environment) is drift
02500	of calibration. That work incorporates calibration updating by
02600	self-calibration to coordinate hand and eye coordinate systems and
02700	provide for reliability, as well as to limit search by accurately
02800	predicting expected features. Visual feedback with stereo vision
02900	is much more powerful than without; we have demonstrated stereo
03000	visual feedback in a program [Binford unpublished].
03100	
03200	We have a set of visual modules to be used in a goal-directed
03300	way. These modules answer questions which arise in practical visual
03400	feedback tasks, and in analysis of outdoor scenes. Are there color
03500	edges in a selected window? Are there edges in brightness? What is
03600	the color of the region in the window?
03700	Several
03800	preliminary color region analysis programs have been developed
03900	[Binford, unpublished, Bajcsy 1972]. An edge operator [Hueckel 1969]
04000	and a region-based corner/edge finder [Gill 1972] both operate on
04100	small windows of the scene, as directed by a higher level. An edge
04200	verifier is used to confirm or reject edges predicted from context
04300	[Tenenbaum 1970]. Color identification has long been demonstrated.
04400	Recently, a program has been implemented [Thomas unpublished]
04500	 based on Land's Retinex
04600	model of color constancy in vision, which defines a color triangle
04700	from ordering of brightnesses. The center of the triangle is
04800	designated as white. The program shows a color constancy similar to
04900	humans; table top scenes are assigned colors reasonably well under a
05000	variety of lighting with different spectra: sunlight, flourescent,
05100	and incandescent.
05200	
05300	Understanding outdoor scenes is a more complex task than many industrial
05400	visual operations, but it has utility for planetary exploration; it is
05500	also a useful exercise for developing color, texture, and stereo operations.
05600	Bajcsy analyzed outdoor scenes with a combination of color
05700	and texture region analysis [Bajcsy 1972]; depth cues were taken from
05800	the gradient of texture.
05900	An attempt was made to obtain consistent interpretations by making
06000	three dimensional interpretations, and confirming boundaries by
06100	independent properties.
06200	 Natural objects and natural scenes have been
06300	used for our work with motion parallax [Nevatia in draft] and stereo
06400	vision [Quam,Hannah].These are complementary techniques of depth
06500	perception which are applicable for planetary exploration and
06600	industrial tasks. Motion parallax can be used for planning of
06700	navigation and characterizing large scale terrain features, since it
06800	provides large baselines.
06900	
06905	Another aspect of vision with direct application to industrial
06910	enviroments is explored in our work with curved objects. Current
06915	programs use depth information to make useful descriptions of objects like a doll,
06920	a toy horse, a snake, or a glove [Agin]. Programs can segment
06925	these objects into parts like legs, arms or fingers, and link
06930	these parts together to form descriptions of entire objects [Nevatia].
06935	These operations are precursors to a recognition process. The
06940	work depends on a new representation of shape [Binford 1971] in terms
06945	of volume components and a part/whole segmentation. Primitive parts
06950	are described by an axis which is a space curve, and normal cross
06955	sections along the axis. The representation is based on a formalism,
06960	"generalized translational invariance". There are significant theoretical
06965	reasons why this representation leads to a natural choice of parts
06970	by simple procedures, in distinction to other suggested representations.
07100	We developed a laser ranging device [Binford
07200	1970,Agin] which was operational two years ago.
07205	It is particularly interesting that the device adds a cost of only
07210	about $400 to the cost of a visual system.
08000	
08100	A study of visual and depth ranging sensor has been carried out
08200	which provides a background for choosing sensors and interface, and
08300	making cost estimates [Binford 1972, Earnest 1967].  We have
08400	maintained a calibrated hand and vision system for several years
08500	[Sobel 1970], and have developed self-calibration techniques with one
08600	and two eyes [Yakimovsky unpublished, Hannah 1972, Gill 1972].
08700	
08800	A system for understanding scenes of blocks from single views has
08900	been implemented [Falk 1970]; it segments objects, matches against
09000	internal models, predicts appearance from its assumptions, and
09100	searches for verification and contradiction based on the predicted
09200	image. Support and spatial relations are also obtained. There has
09300	been past work on programs to obtain line drawings as input to
09400	recognition systems. An earlier system was based on limited context
09500	of expecting continuation of edges at vertices and predicting missing
09600	edges in certain expected configurations [Grape 1970]. A more recent
09700	approach has been to use models within the process of generating line
09800	drawings, so that the most efficient next guess can be made and
09900	context used intrinsically in the formation of line drawings.
10000	
10100	VISION FOR ASSEMBLY
10200	
10205	This is a key part of the proposed project. We propose to evaluate and
10210	implement visual facilities required by a robot with simple vision,
10215	in conjunction with force and touch. These facilities must be
10220	modularized by working out several examples, and made fast enough and small 
10225	enough to be practical for a minicomputer-based robot. We have considerable
10230	experience with such standardization, and with visual feedback techniques
10235	in the domain of blocks. We are now at work on extending visual feedback
10240	techniques to typical assembly tasks. We are also evaluating methods
10245	of automating visual feedback. We have well-developed systems for
10250	modeling objects from the console and to predict their appearance using 
10255	techniques from computer graphics [Baumgart 1972a,b]. We can predict
10260	curved edges from our models. We will use simple region analysis programs and edge operators
10265	to locate curved edges predicted within a small window. Automated visual
10270	feedback would combine with evolving strategy programs in an interactive
10275	system, Assembly Robot Management System, ARMS. We will maintain a calibrated system and
10285	improve calibration updating so that reliability is maintained at a
10290	high level.
10295	
10300	We have developed a special case program for locating the pump body 
10305	in the pump assembly and moving it to the standard location. We are
10310	at work on several other such tasks involved in the pump assembly
10315	which contain components of general utility for visual feedback.
10320	These tasks are typical of the simple visual operations which we
10325	will implement or adapt.
11800	
11900	VISION RESEARCH
12000	
12005	While continuing research activities are not to be supported by the
12010	proposed project, in all likelihood, the research will suggest
12015	useful programs for the assembly system, particularly work in 
12020	recognition of complex objects using depth data.  The computer now
12025	has symbolic internal models of objects.  We are now in a position
12030	to recognize objects such as a glove, a hammer, etc.  We will
12035	immediately deal with matching descriptions for recognition.  The
12040	important extensions we wish to deal with are occlusion and access
12045	to a large visual memory.  These will involve matching of partial
12050	descriptions and encoding of partial descriptions as indices
12055	to a small class of similar shapes, which can then be compared in more
12060	detail.  We are working toward making the hardware stable enough
12065	that it can maintain calibration, and software streamlined so that
12070	the depth measurement system can be integrated with other hand/eye
12075	facilities.
13705	 We intend to apply
13800	large parts of our programs for description and recognition of curved
13900	objects using only monocular intensity information. This is a much
14000	harder problem, but within our representation, shares much of the
14100	same code, and relies on the same conceptual basis of local
14200	three-dimensional models.
14300	
15000	
15650	 There is a growing effort on navigation of vehicles in outdoor
15700	scenes. While this is not directly relevant to the industrial
15800	environment, it does reflect the growing involvement in complex
15900	visual tasks, and will lead to further development of an integrated
16000	visual system.
16005	One approach which has already given initial results [Yakimovsky]
16010	is to combine region growing with interpretation using a world
16015	model.  Thus, regions are combined not simply on the basis of
16020	uniformity but because combining them improves the interpretation.
16025	At the same time, we will be combining more facilities into these
16030	visual systems, and more usable knowledge in the world model.
16100